﻿using System;

namespace ClassNamespace
{
    class Class2
    {
        public Class2(int value)
        {

        }

        public Class2(string value)
        {

        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Class2 a = new Class2(); // 错误！没有无参数的构造函数
        }
    }
}

/*
 
倘若在类的声明中没有显式地提供实例构造函数，在这种情况下编译器会提供一个隐式的默认构造函数，它具有以下特点：

①不带参数；

②方法体为空。

但是如果你声明了任何构造函数，那么编译器就不会把该类定义为默认构造函数。

在以上的代码中至少有一个显式定义的构造函数，编译器不会创建任何额外的构造函数，在 Main() 中如果试图用不带参数的构造函数创建新的实例，因为没有无参数的构造函数，所以编译器就会产生一条错误信息。
 
 */